OPENQASM 2.0;
include "qelib1.inc";

qreg q[5];
creg c[5];

h q[1];
h q[2];
h q[3];
h q[4];
cx q[3], q[2];
u1(-0.6283185307179586) q[2];
cx q[3], q[2];
cx q[4], q[2];
u1(-0.6283185307179586) q[2];
cx q[4], q[2];
cx q[1], q[2];
u1(-0.6283185307179586) q[2];
cx q[1], q[2];
u3(0.9424777960769379, -1.5707963267948966, 1.5707963267948966) q[1];
u3(0.9424777960769379, -1.5707963267948966, 1.5707963267948966) q[2];
cx q[4], q[3];
u1(-0.6283185307179586) q[3];
cx q[4], q[3];
u3(0.9424777960769379, -1.5707963267948966, 1.5707963267948966) q[3];
cx q[3], q[2];
u1(-1.2566370614359172) q[2];
cx q[3], q[2];
u3(0.9424777960769379, -1.5707963267948966, 1.5707963267948966) q[4];
cx q[4], q[2];
u1(-1.2566370614359172) q[2];
cx q[4], q[2];
cx q[1], q[2];
u1(-1.2566370614359172) q[2];
cx q[1], q[2];
u3(0.3141592653589793, -1.5707963267948966, 1.5707963267948966) q[1];
u3(0.3141592653589793, -1.5707963267948966, 1.5707963267948966) q[2];
cx q[4], q[3];
u1(-1.2566370614359172) q[3];
cx q[4], q[3];
u3(0.3141592653589793, -1.5707963267948966, 1.5707963267948966) q[3];
u3(0.3141592653589793, -1.5707963267948966, 1.5707963267948966) q[4];
measure q[1] -> c[1];
measure q[2] -> c[2];
measure q[3] -> c[3];
measure q[4] -> c[4];
